#include <iostream>
#include <vector>
using namespace std;
int main()
{
	int n,aim;
	cin>>n>>aim;
	vector<int> arr(n+1);
	for(int i=1;i<=n;i++)
		cin>>arr[i];
	
	vector<int> dp(aim+1,0x3f3f3f3f);
	
	dp[0]=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=arr[i];j<=aim;j++)
		{
			dp[j]=min(dp[j],dp[j-arr[i]]+1);
		}
	}
	if(dp[aim]<0x3f3f3f3f)
		cout<<dp[aim]<<endl;
	else{
		cout<<-1<<endl;
	}
	return 0;
}
